perm filename TACH.F4[1,VDS] blob
sn#010361 filedate 1970-11-03 generic text, type T, neo UTF8
00100 C PROGRAM TO PLOT ENCODER PATTERNS
00200 C REQUIRED INPUT--RADIUS-OUTSIDE RADIUS IN INCHES I.E. 14.25
00300 C TICSIZE-LINE LENGTH IN INCHES I.E. 1.50
00400 C LINES-NUMBER OF LINES IN CIRCLE I.E. 1024
00500 REAL LINES
00600 INTEGER X1,Y1,X2,Y2,TICS,Z,REF,NUMTIC,KEY,N,SPACE,ILINES
00700 PI=3.1415926535
00800 CALL PLOTS(Z)
00900 IF(Z.EQ.0) GO TO 1
01000 PAUSE 'PLOTTER...OK? '
01100 1 TYPE 9
01200 ACCEPT 16, KEY
01300 SPACE= -1
01400 IF (KEY) 4,6,6
01500 6 TYPE 10
01600 ACCEPT 15, RAD
01700 TYPE 11
01800 ACCEPT 15, TICSIZ
01900 TYPE 12
02000 ACCEPT 15, LINES
02100 N=1
02200 RESO= (1000*2*PI)/LINES
02300 TICS = LINES
02400 IF (KEY) 4,7,8
02500 7 TYPE 14
02600 ACCEPT 16, NUMTIC
02700 TYPE 17
02800 ACCEPT 16, SPACE
02900 TICS=NUMTIC
03000 C GENERATE ORIGIN
03100 8 CALL PLOT(-.5,0,3)
03200 CALL PLOT(.5,0,2)
03300 CALL PLOT(0,-.5,3)
03400 CALL PLOT(0,.5,2)
03500 IF (KEY) 4,13,5
03600 C MAKE REFERENCE MARK AND FIRST LINE
03700 5 REF=( RAD-(2.0*TICSIZ))*200
03800 CALL PLOT(REF,0,3)
03900 CALL PLOT(RAD,0,2)
04000 C GENERATE AND PLOT TACH LINES
04100 20 CONTINUE
04200 DO 3 I=N,(TICS-1)
04300 ANG=I*RESO/1000
04400 CS= COS(ANG)
04500 SN= SIN(ANG)
04600 X1= (RAD-TICSIZ)*CS*200
04700 Y1= (RAD-TICSIZ)*SN*200
04800 X2= RAD*CS*200
04900 Y2= RAD*SN*200
05000 CALL PLOT(X1,Y1,3)
05100 CALL PLOT(X2,Y2,2)
05200 3 CONTINUE
05300 GO TO 2
05400 C GENERATE AND PLOT MASK LINES
05500 13 ILINES=LINES
05600 I=(ILINES/8-TICS/2-SPACE/2)
05700 ANG= I*RESO/1000
05800 CS= COS(ANG)
05900 SN= SIN(ANG)
06000 X1= (RAD-(2.5*TICSIZ))*CS*200
06100 Y1= (RAD-(2.5*TICSIZ))*SN*200
06200 X2=(RAD-TICSIZ)*CS*200
06300 Y2=(RAD-TICSIZ)*SN*200
06400 CALL PLOT(X1,Y1,3)
06500 CALL PLOT(X2,Y2,2)
06600 DO 33 I=(ILINES/8-TICS-SPACE/2),(ILINES/8-SPACE/2-1)
06700 ANG=I*RESO/1000
06800 CS=COS(ANG)
06900 SN=SIN(ANG)
07000 X1=(RAD-TICSIZ)*CS*200
07100 Y1=(RAD-TICSIZ)*SN*200
07200 X2=RAD*CS*200
07300 Y2=RAD*SN*200
07400 CALL PLOT(X1,Y1,3)
07500 CALL PLOT(X2,Y2,2)
07600 33 CONTINUE
07700 DO 34 I=(ILINES/8+SPACE/2),(ILINES/8+SPACE/2+TICS-1)
07800 ANG=(I+.25)*RESO/1000
07900 CS=COS(ANG)
08000 SN=SIN(ANG)
08100 X1=(RAD-TICSIZ)*CS*200
08200 Y1=(RAD-TICSIZ)*SN*200
08300 X2=RAD*CS*200
08400 Y2=RAD*SN*200
08500 CALL PLOT (X1,Y1,3)
08600 CALL PLOT (X2,Y2,2)
08700 34 CONTINUE
08800 2 CALL PLOT(0,0,3)
08900 GO TO 1
09000 10 FORMAT(' RADIUS='$)
09100 11 FORMAT(' TICSIZE='$)
09200 12 FORMAT(' LINES='$)
09300 15 FORMAT(F)
09400 9 FORMAT(' TACH(1),MASK(0),END(-1) '$)
09500 14 FORMAT (' NUMBER OF TICS='$)
09600 16 FORMAT(I)
09700 17 FORMAT (' SPACING OF GRIDS='$)
09800 4 END